/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Mensagem.java
 * 
 * Para utilizar esta classe deve-se implementar um código semelhante 
 * ao mostrado a baixo:
 * 
 * Mensagem msg = new Mensagem(this, "Cadastro realizado com sucesso!", "OK");
 * msg.setVisible(true);
 * 
 * Created on 25/05/2012, 19:22:34
 */
package View;

import java.awt.HeadlessException;
import java.util.Locale;
import javax.swing.JFrame;

public final class Mensagem extends javax.swing.JFrame {

    private JFrame telaAnterior;
    String msg;
    String tipo;
    boolean question = false;

    public Mensagem(JFrame tela) throws HeadlessException {
        initComponents();
        inicializar();
        this.question = true;
        this.telaAnterior = tela;
    }

    /** Creates new form Mensagem */
    public Mensagem(JFrame tela, String mensagem, String tipo) {
        initComponents();
        this.telaAnterior = tela;
        this.msg = mensagem;
        this.tipo = tipo;
        inicializar();
        exibirMensagem();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLbImagem = new javax.swing.JLabel();
        jBtOk = new javax.swing.JButton();
        jLbMensagem = new javax.swing.JLabel();
        jBtNok = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Hospital Rest in Peace");
        setAlwaysOnTop(true);
        setBackground(new java.awt.Color(255, 255, 255));

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
        jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLbImagem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/bonecoInformacao.png"))); // NOI18N
        jPanel1.add(jLbImagem, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 130));

        jBtOk.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/V.png"))); // NOI18N
        jBtOk.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtOkActionPerformed(evt);
            }
        });
        jPanel1.add(jBtOk, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 80, 50, 50));

        jLbMensagem.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLbMensagem.setText("jLabel2");
        jLbMensagem.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jPanel1.add(jLbMensagem, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 17, 310, 60));

        jBtNok.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/X.png"))); // NOI18N
        jBtNok.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtNokActionPerformed(evt);
            }
        });
        jPanel1.add(jBtNok, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 80, 50, 50));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 435, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    public void question(JFrame tela) {
    }
    private void jBtOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtOkActionPerformed
        this.question = true;
        this.dispose();
    }//GEN-LAST:event_jBtOkActionPerformed

    private void jBtNokActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtNokActionPerformed
        this.question = false;
    }//GEN-LAST:event_jBtNokActionPerformed

    public void inicializar() {
        this.setLocation(500, 300);
        this.tipo = tipo;
        if (question) {
            jBtNok.setToolTipText("Sim");
            jBtNok.setToolTipText("Não");
        } else {
            jBtOk.setToolTipText("OK");
            jBtNok.setVisible(false);
            jBtNok.setVisible(false);
        }        
      
    }

    /**
     *  O objetivo deste método é mostrar mensagens de uma
     * maneira customizada.
     * 
     * @param 
     * JFrame tela:         Tela de origem da mensagem.
     * String mensagem:     Mensagem a ser exibida no frame.
     * String tipo:         Seleciona o tipo da mensagem exemplo: Erro ou OK.
     * 
     * @author Luciano
     */
    public void exibirMensagem() {
        this.tipo = this.tipo.toLowerCase(Locale.ENGLISH);
        String type = "/Imagens/bonecoInformacao.png";
        if (this.tipo.equals("ok")) {
            type = "/Imagens/bonecoV.png";
        }
        if (this.tipo.equals("erro")) {
            type = "/Imagens/bonecoCancel.png";
        }
        if (this.tipo.equals("question")) {
            type = "/Imagens/bonecoDuvida.png";
            jBtNok.setVisible(true);
        }
        jLbImagem.setIcon(new javax.swing.ImageIcon(getClass().getResource(type)));
        jLbMensagem.setText(this.msg);
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jBtNok;
    private javax.swing.JButton jBtOk;
    private javax.swing.JLabel jLbImagem;
    private javax.swing.JLabel jLbMensagem;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration//GEN-END:variables
}
